X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C92FCF.FFBC0ED2@onstor-exch02.onstor.net>; Thu, 16 Oct 2008 13:44:35 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C92FCF.FFBC0ED2"
Content-class: urn:content-classes:message
Subject: RE: Functional Spec for Restarting Aborted Mirror Sessions
Date: Thu, 16 Oct 2008 13:44:34 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E0C0D8733@onstor-exch02.onstor.net>
In-Reply-To: <BB375AF679D4A34E9CA8DFA650E2B04E0C0D86BA@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Functional Spec for Restarting Aborted Mirror Sessions
Thread-Index: Ackvwc2p16X2XnVpSBWREx63PQrjQQADPGaA
References: <BB375AF679D4A34E9CA8DFA650E2B04E0C0D86BA@onstor-exch02.onstor.net>
From: "Jonathan Goldick" <jonathan.goldick@onstor.com>
To: "Deepak Veliath" <deepak.veliath@onstor.com>,
	"dl-Design Review" <dl-designreview@onstor.com>
Cc: "dl-Kegg" <dl-Kegg@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C92FCF.FFBC0ED2
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

1.	Section 5, as you make clear, the key to restarting is to know
what the target has on disk, basically a checkpoint marker.  Since we
send blocks in order can we just periodically write out the last block
number know to have hit disk?  A super-block field would be easy.  While
an implementation note, this would avoid changing the cluster DB and
that is relevant here.  When all the blocks have been received we can
just set the number to the last block number in the file system so it
handles a lot of the cases you have mentioned.
2.	Section 6, I'm not sure that the restart command adds a lot,
avoiding the creation of a new snapshot is the only clear addition over
mirror start and that doesn't seem worth creating a new command verb.
3.	Section 6, mirror start MIRRORNAME [skiprestart] To date we have
not used whole words for command options in the shell, but instead use
things like -a, -b, etc.  Other than testing, why would a customer ever
want to skip a restart?  While a large transfer can happen at any point,
the real problem here is baseline transfers so if the target is garbage
in some way we can just start over by detecting that, rather than having
the administrator try to figure it out.  This also reduces the test
cases and the need to change the GUI or the CLI.

=20

=20

=20

________________________________

From: Deepak Veliath=20
Sent: Thursday, October 16, 2008 12:03 PM
To: dl-Design Review
Subject: Functional Spec for Restarting Aborted Mirror Sessions

=20

\\mightydog\software\Kegg\Functional
Specs\RestartAbortedMirrorSessionsFuncSpec.doc
<file:///\\mightydog\software\Kegg\Functional%20Specs\RestartAbortedMirr
orSessionsFuncSpec.doc>=20


------_=_NextPart_001_01C92FCF.FFBC0ED2
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"MS Mincho";
	panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@MS Mincho";
	panose-1:2 2 6 9 4 2 5 8 3 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:blue;
	text-decoration:underline;}
p
	{mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman";}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:2056271304;
	mso-list-type:hybrid;
	mso-list-template-ids:1465010010 67698703 67698713 67698715 67698703 =
67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dblue>

<div class=3DSection1>

<ol style=3D'margin-top:0in' start=3D1 type=3D1>
 <li class=3DMsoNormal style=3D'color:navy;mso-list:l0 level1 =
lfo1'><font size=3D2
     color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Section
     5, as you make clear, the key to restarting is to know what the =
target has
     on disk, basically a checkpoint marker.&nbsp; Since we send blocks =
in
     order can we just periodically write out the last block number know =
to
     have hit disk?&nbsp; A super-block field would be easy.&nbsp; While =
an
     implementation note, this would avoid changing the cluster DB and =
that is
     relevant here.&nbsp; When all the blocks have been received we can =
just
     set the number to the last block number in the file system so it =
handles a
     lot of the cases you have mentioned.<o:p></o:p></span></font></li>
 <li class=3DMsoNormal style=3D'color:navy;mso-list:l0 level1 =
lfo1'><font size=3D2
     color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Section
     6, I&#8217;m not sure that the restart command adds a lot, avoiding =
the
     creation of a new snapshot is the only clear addition over mirror =
start
     and that doesn&#8217;t seem worth creating a new command =
verb.<o:p></o:p></span></font></li>
 <li class=3DMsoNormal style=3D'color:navy;mso-list:l0 level1 =
lfo1'><font size=3D2
     color=3Dnavy face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>Section
     6, </span></font><font color=3Dblack face=3D"Courier New"><span
     style=3D'font-family:"Courier New";color:windowtext'>mirror start =
MIRRORNAME
     [skiprestart] </span></font><font size=3D2 face=3DArial><span
     style=3D'font-size:10.0pt;font-family:Arial'>To date we have not =
used whole
     words for command options in the shell, but instead use things like =
&#8211;a,
     -b, etc.&nbsp; Other than testing, why would a customer ever want =
to skip
     a restart?&nbsp; While a large transfer can happen at any point, =
the real
     problem here is baseline transfers so if the target is garbage in =
some way
     we can just start over by detecting that, rather than having the
     administrator try to figure it out.&nbsp; This also reduces the =
test cases
     and the need to change the GUI or the =
CLI.<o:p></o:p></span></font></li>
</ol>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 color=3Dnavy face=3DArial><span =
style=3D'font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=3DMsoNormal align=3Dcenter style=3D'text-align:center'><font =
size=3D3
face=3D"Times New Roman"><span style=3D'font-size:12.0pt'>

<hr size=3D2 width=3D"100%" align=3Dcenter tabindex=3D-1>

</span></font></div>

<p class=3DMsoNormal><b><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font =
size=3D2
face=3DTahoma><span style=3D'font-size:10.0pt;font-family:Tahoma'> =
Deepak Veliath <br>
<b><span style=3D'font-weight:bold'>Sent:</span></b> Thursday, October =
16, 2008
12:03 PM<br>
<b><span style=3D'font-weight:bold'>To:</span></b> dl-Design Review<br>
<b><span style=3D'font-weight:bold'>Subject:</span></b> Functional Spec =
for
Restarting Aborted Mirror Sessions</span></font><o:p></o:p></p>

</div>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p><font size=3D2 face=3D"Times New Roman"><span =
style=3D'font-size:10.0pt'><a
href=3D"file:///\\mightydog\software\Kegg\Functional%20Specs\RestartAbort=
edMirrorSessionsFuncSpec.doc">\\mightydog\software\Kegg\Functional
Specs\RestartAbortedMirrorSessionsFuncSpec.doc</a></span></font><o:p></o:=
p></p>

</div>

</body>

</html>

------_=_NextPart_001_01C92FCF.FFBC0ED2--
